firmware/raspberrypi: raise timeout to 3s#6859
Merged
Merged
Conversation
Raspberry firmware driver expected said firmware to answer by 1 second. That seems to work fine for most cases, but with RPI_FIRMWARE_NOTIFY_DISPLAY_DONE, that IIUC may need to reconfigure a monitor, i end up reliably having timeouts: [ 2.861407] ------------[ cut here ]------------ [ 2.865512] Firmware transaction 0x00030066 timeout [ 2.865549] WARNING: CPU: 3 PID: 42 at drivers/firmware/raspberrypi.c:128 rpi_firmware_property_list+0x21c/0x29c [ 2.880751] CPU: 3 UID: 0 PID: 42 Comm: kworker/u16:1 Not tainted 6.15.0-rc6 #1 PREEMPT [ 2.888944] Hardware name: Raspberry Pi 4 Model B Rev 1.5 (DT) [ 2.894848] Workqueue: events_unbound deferred_probe_work_func [ 2.900752] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 2.907801] pc : rpi_firmware_property_list+0x21c/0x29c [ 2.913089] lr : rpi_firmware_property_list+0x21c/0x29c [ 2.918376] sp : ffffffc0803139c0 [ 2.921725] x29: ffffffc0803139e0 x28: ffffff8040bbef50 x27: ffffff80410c0f40 [ 2.928953] x26: ffffffd7055d9e28 x25: ffffffc0801e0008 x24: 0000000000001000 [ 2.936179] x23: ffffff80410c1080 x22: 000000000000000a x21: ffffff80410c0f00 [ 2.943405] x20: 000000000000000c x19: ffffffc0801e0000 x18: ffffffc08030d0a0 [ 2.950632] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 2.957858] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 2.965085] x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 [ 2.972311] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 0000000000000000 [ 2.979537] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 [ 2.986764] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 [ 2.993992] Call trace: [ 2.996458] rpi_firmware_property_list+0x21c/0x29c (P) [ 3.001747] rpi_firmware_property+0x70/0xd8 [ 3.006064] vc4_drm_bind+0x12c/0x378 [ 3.009765] try_to_bring_up_aggregate_device+0x22c/0x308 [ 3.015230] __component_add+0xec/0x224 [ 3.019106] component_add+0x14/0x30 [ 3.022720] vc4_hdmi_dev_probe+0x1c/0x40 [ 3.026773] platform_probe+0x68/0xf0 [ 3.030474] really_probe+0xc0/0x3ac [ 3.034088] __driver_probe_device+0x7c/0x174 [ 3.038495] driver_probe_device+0x40/0x100 [ 3.042725] __device_attach_driver+0x10c/0x1e0 [ 3.047308] bus_for_each_drv+0x88/0x100 [ 3.051273] __device_attach+0xa0/0x1c8 [ 3.055151] device_initial_probe+0x14/0x30 [ 3.059381] bus_probe_device+0xc8/0xcc [ 3.063259] deferred_probe_work_func+0xb8/0x12c [ 3.067930] process_one_work+0x160/0x2d4 [ 3.071983] worker_thread+0x2d8/0x400 [ 3.075773] kthread+0x12c/0x208 [ 3.079034] ret_from_fork+0x10/0x20 [ 3.082647] ---[ end trace 0000000000000000 ]--- Raising the timeout to 3 seconds (ought to be enough®) doesn't trigger timeouts anymore for me and proceeds to the next failure. Signed-off-by: Etienne Buira <etienne.buira@free.fr>
popcornmix
approved these changes
May 16, 2025
popcornmix
added a commit
to raspberrypi/firmware
that referenced
this pull request
May 21, 2025
kernel: usb: xhci: set Input Slot Context bit in xhci_fixup_endpoint See: raspberrypi/linux#6850 kernel: configs: Enable more MediaTek drivers See: raspberrypi/linux#6857 kernel: firmware/raspberrypi: raise timeout to 3s See: raspberrypi/linux#6859 kernel: overlays: sc16is75x: Disable spidev0 first See: raspberrypi/linux#6858 kernel: gpiolib: Avoid the hotplug performance reduction See: raspberrypi/linux#6862
popcornmix
added a commit
to raspberrypi/rpi-firmware
that referenced
this pull request
May 21, 2025
kernel: usb: xhci: set Input Slot Context bit in xhci_fixup_endpoint See: raspberrypi/linux#6850 kernel: configs: Enable more MediaTek drivers See: raspberrypi/linux#6857 kernel: firmware/raspberrypi: raise timeout to 3s See: raspberrypi/linux#6859 kernel: overlays: sc16is75x: Disable spidev0 first See: raspberrypi/linux#6858 kernel: gpiolib: Avoid the hotplug performance reduction See: raspberrypi/linux#6862
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This patch was submitted upstream. It's not been accepted yet, but it's such a simple patch that they can't demand too many changes. The existing 1 second timeout is a bit too short for comfort, and when timeouts do happen things don't recover well.